package ebj.common.domain;

public class Person {
	private String name;
	private int age;

	/*
	 * 在有可能使用反射(Reflect)创建该类的实例的情况下，这个无参构造函数时一定要创建的。
	 * 因为，在我们把Person中的默认的无参构造函数取消(比如，只在该类中提供一个有参数的构造方法)的时候，
	 * 使用反射创建该类的实例的时候，程序就会出现：java.lang.InstantiationException 异常。
	 */
	public Person() {
		super();
	}

	public Person(String name) {
		super();
		this.name = name;
	}
	
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public Person(int age) {
		super();
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person[" + "姓名:" + this.getName() + ", 年龄:" + this.getAge()
				+ "]";
	}
	
	private void privateMethod(){
		System.out.println("私有方法！");
	}
	
	protected void protectedMethod() throws Exception{
		System.out.println("受保护的方法！");
		throw new Exception("抛出异常！");
	}
	
	void friendlyMethod(String msg) throws Throwable{
		System.out.print("友好的方法！");
		System.out.println("该方法说" + msg);
		if (null == msg || (msg.length() == 0)) {
			throw new Throwable("抛出异常！");
		}
	}
}
